SGDK 1.11 (December 2014)
-------------------------

* Fixed small issue in joystick code (Chilly Willy).
* added Z80 CPU load information in XGM driver (experimental).


SGDK 1.10 (December 2014)
-------------------------

COMPILER
* XGMTool:
 - removed DAC enabled command (automatically handle by the XGM driver).
 - added DAC enabled state (XGM driver uses it when no PCM are playing).
 - now uses the VGM 1.60 'stream id' information to allow multi PCM channel for XGM conversion.
   Note that each channel has its own priority as VGM music does not contains PCM priority information.

LIBRARY
* VDP:
 - VDP_fade(..) method now automatically disables interrupts if needed.
* SPRITE:
 - minor optimization in the Sprite Engine to quickly discard disabled sprites (visibility forced to off).
* SOUND:
 - added automatic DAC enabled control (XGM driver).
 - fixed issue with music pause operation on real hardware (XGM driver).
 - minor tweak to reduce a bit the size of the Z80 drivers.
 - removed Z80_DRIVER_4PCM which is useless (use Z80_DRIVER_4PCM_ENV driver instead).
* CONTROLLER:
 - added Sega Phaser support (Chilly Willy).
* SYSTEM:
 - disable library debug info.
* SAMPLE:
 - updated 'Joy' sample to add Phaser test (Chilly Willy).
 - updated 'Sound' sample to remove Z80_DRIVER_4PCM test and add an example of the MVS driver PCM SFX.


SGDK 1.01 (November 2014)
-------------------------

COMPILER
* fixed bugs in XGMTool.
* removed linear interpolation when converting WAV file.
* others minors changes.


SGDK 1.00 (November 2014)
-------------------------

COMPILER
* Rescomp:
 - added support to XGM resource in rescomp.
* added xgmtool to convert VGM into XGM and compile XGM file.
* removed Genitile tool sources.
* updated wavtoraw to support sample interpolation.

LIBRARY
* VDP:
 - added VDP_setScanMode(u16 mode) method to change the interlaced mode.
 - added VDP_interruptFade() method to interrupt async palette fading.
* SPRITE:
 - fixed a bug with SPR_init(..) method when using same definition, sometime timer could be not reseted and then animation is not working anymore.
 - fixed declaration of VDP_setSprite(..) / VDP_setSpriteDirect(..) / VDP_setSpritePosition(..) methods.
* SOUND:
 - Z80 memory is cleared before loading a custom driver.
 - added Z80_read(..) and Z80_write(..) methods for simple Z80 RAM read/write operations.
 - added XGM driver methods:
   u8 SND_isPlaying_XGM();
   void SND_startPlay_XGM(const u8 *song);
   void SND_stopPlay_XGM();
   void SND_resumePlay_XGM();
   u8 SND_isPlayingPCM_XGM(const u16 channel_mask);
   void SND_setPCM_XGM(const u8 id, const u8 *sample, const u32 len);
   void SND_setPCMFast_XGM(const u8 id, const u8 *sample, const u32 len);
   void SND_startPlayPCM_XGM(const u8 id, const u8 priority, const u16 channel);
   void SND_stopPlayPCM_XGM(const u16 channel);
* MATH:
 - minor fix in min/max defines.
* CONTROLLER:
 - fixed declaration of JOY_readJoypadX/Y(..) methods (they should return s16 and not u16)
* SYSTEM:
 - sega.s and rom_head.c files are now copied into the 'src/boot' project folder so they can easily be customized per project.
* SAMPLE:
 - modified sound sample to add XGM driver example.
* some fixes in the doxygen documentation.
* others changes and improvements.


SGDK 0.96d (june 2014)
----------------------

LIBRARY
* removed direct VRam Map data unpacking as it was buggy.


SGDK 0.96c (june 2014)
----------------------

COMPILER
* Rescomp:
 - fixed some issues on compression.
 - now accept string to define which compression to use (AUTO, APLIB, RLE) in resource definition. 

LIBRARY
* minors changes to Doxygen documentation. 


SGDK 0.96 (may 2014)
--------------------

COMPILER
* Rescomp:
 - improved BMP image support.
 - byte data are now output in word format to avoid the GCC bug (compilation with "-g" flag fails when byte data is encountered).
 - fixed issue on empty sprite animation detection.
 - fixed path separator issue on old windows system.
 - fixed compilation issues on unix system.
* Makefile:
 - Added "release" and "debug" target to makefile (default is "release").
  "debug" target allow you to use GDB interactive debugger through emulator supporting it.
* added appack tool sources code (compatibility for linux system).
* some cleanup in bintos tool (removed the useless sizealign command done by sizebnd tool).

LIBRARY
* VDP:
 - fixed palette fading methods where the last frame colors weren't always correct.
 - VDP_drawImage(..) and VDP_drawBitmap(..) now use dynamic VRAM tile index so they does not erase anymore the previous drawn image.
   'curTileInd' variable which contains the VRAM tile index where next tile will be uploaded is public.
* TILE:
 - fixed somes bugs in the tile cache engine.
 - removed the MEM_free(..) call from the VInt callback (tile cache engine).
   So we don't need anymore to disable interrupts at each memory allocation operation for safety ;)
* SPRITE:
 - fixed somes bugs in the sprite engine. 
 - added SPR_setAlwaysVisible(..) and SPR_setNeverVisible(..) to force (not) visibility on sprite (sprite engine)
* BITMAP:
 - minor performance improvement on the BMP_drawPolygon(..) method.
* SOUND:
 - fixed YM2612 write methods (can have issue on MD2 system).
* DMA:
 - fixed VRam Copy DMA.
* MATH:
- fixed 2D projection calculation in M3D_project_xxx(..) methods.
  Now the camera distance is correctly taken in account for the final projection (adding a minor impact on performance).
* SYSTEM:
 - fixed soft reset issues.
* TIMER:
 - fixed a minor issue with getTime(..) method.
 - waitSubTick(..) is now more accurate when called from V-Interrupt code.
* SAMPLE:
 - minors changes and improvements on the Sonic Sprite sample.
 - minors changes to 3D cube flat sample.
* DEBUG:
 - added some KDebug log methods (KLog, KLog_Uxx, KLog_Sxx...)
* added strcmp(..) method.
* others changes and improvements.


SGDK 0.95 (feb 2014)
--------------------

COMPILER
* Major change on resource compilation:
  A new resource compiler tool (rescomp) is used to compile all resource files.
  It support many type of resources as BMP, PNG, WAV, PCM, VGM, TFM..
  Read the rescomp.txt file to have more informations about it and look in the 'sound' and 'sprite' sample example.
  You can also convert your old project by using the "rescomp -convert" command on the project folder to convert.
- added appack tool.
- minor fix in wavtoraw tool.

LIBRARY
* added GFX compression support (see tools.h file for doxygen documentation).
* VDP:
 - added VDP_getBackgroundColor() and VDP_setBackgroundColor(..) methods.
 - added VDP_get/setTextPlan(), VDP_get/setTextPalette() and VDP_get/setTextPriority() methods to change text drawing properties.
 - added VDP_drawBitmap(..) and VDP_drawBitmapEx(..) methods to draw Bitmap resource.
 - added VDP_drawImage(..) and VDP_drawImageEx(..) methods to draw Image resources.
 - added VDP_loadTileSet(..) method to load TileSet resource.
 - added VDP_setMap(..) and VDP_setMapEx(..) methods to load Map resources.
 - lot of refactoring in the setTileMap methods...
 - some tweaks.
* TILE:
 - added new tile cache engine for easier tile allocation in VRAM.
   See the tile_cache.h file for doxygen documentation.
* SPRITE:
 - added sprite engine for easier sprite manipulation.
   See the sprite_eng.h file for doxygen documentation and the included "sprite" sample for an example.
* SOUND:
 - added TFC_isPlaying() command for the 68k TFM driver.
 - fixed issue with consecutive play command on TFM Z80 driver.
 - Improved VGM driver (thanks to kubilus1 and sigflup).
   You can now pause, resume music and even better play PCM SFX !
 - now clear Z80 memory on driver loading to avoid any problems with var initialization.
* DMA:
  - minor change to VDP_doDMAEx(..) method, be careful if you use this method, the last parameter changed.
* JOY:
 - added JOY_waitPressTime() and JOY_waitPressBtnTime() methods.
 - JOY_waitPressBtn() and JOY_waitPress() now return button pressed info.
* MEMORY:
 - fixed a minor buf with dynamic memory allocation.
* SYSTEM:
 - added SYS_disableInts() and SYS_enableInts() methods.
 - added SYS_isInInterrupt() to detect if we are in an interrupt callback.
 - added SYS_getAndSetInterruptMaskLevel(..) method to "atomically" get and set interrupt mask level.
 - added SYS_die(..) for fatal error handling.
* library font is now included as an image.
* added some logs for easier debugging (KDebug message).
* many others smalls improvements.
* lot of refactoring.


SGDK 0.94 (feb 2013):
---------------------

* Major rewrite of the Bitmap engine:
 - Fixed 256x160 resolution.
 - Removed all specifics flags as it now always use deferred flip operation with extended blank.
 - Simpler and easier to use.
 - Better performance (20 FPS in NTSC, 25 FPS in PAL).
 - Backface culling now directly handled in the BMP_drawPolygon(..) method.
 - Removed useless FF BMP engine (too complex, incomplete..)
 - Many others changes you will discover :)
* Added "Bitmap" structure for better bitmap handling.
  SGDK automatically convert 16 colors bitmap images to "Bitmap".
* Major rewrite of Maths3D engine:
  - Added many 3D related structures (as matrix, transform..).
  - More flexibility.
  - Improved performance (not much).
* added DMA capability to VDP_setHorizontalScrollxxx(..) / VDP_setVerticalScrollTile(..) functions.
* Added VDP_doDMAEx(..) so we can specify if we modify the VRam step.
* Refactored palette functions.
* Fixed QSort function.
* Removed useless VRAM table (eat rom space for minor speed boost).
* Minors fixes/tweaks in memset and memcpy functions.
* Updated WavToRaw tool (now support any output rate).
* Added Genitile 1.7 sources.
* Minors tweaks on makefile.
* Fixed a minor issue in rom_head (Thanks Chilly Willy).
* Updated demo samples.
* Others minors changes or improvements.